perm filename SERTST.SAI[SYS,HE] blob sn#053150 filedate 1973-07-19 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "SERTST"
C00005 00003		IF INCHWL="Y" THEN STATUS ← STATUS LOR LREAD ELSE
C00007 ENDMK
C⊗;
BEGIN "SERTST"

REQUIRE "HELIB[1,3]" LIBRARY;

EXTERNAL INTEGER TSERVO, STATUS, LENS;
EXTERNAL REAL P1, P2, P3, L1, L2, L3, CREF;

DEFINE CRLF="'15&'12", DONE="1", RUN="2", READ="4", SERVO="'10",
	CLENS="'20", LREAD="'40", MISS="'100", ADH="'200", LHANG="'400",
	FHANG="'1000", THANG="'2000", PHANG="'4000", GHANG="'10000",
	CONFL="'100000";

PRELOAD_WITH "DONE","RUN","READ","SERVO","CLENS","LREAD","MISS","ADH",
	"LHANG","FHANG","THANG","PHANG","GHANG","CONFL";
SAFE STRING ARRAY FLAG_NAMES[1:14];

STRING INP;
INTEGER I,J,K;

LABEL JUMP, LOOP;

EXTERNAL PROCEDURE SPWON(INTEGER TICK;REFERENCE INTEGER LOC);
EXTERNAL PROCEDURE SPWOFF;

	SPWOFF;
	SETFORMAT(10,4);
	STATUS ← READ+LREAD;
	GO JUMP;

LOOP:	OUTSTR("READ POTS? ");
	STATUS ← 0;
	IF INCHWL="Y" THEN STATUS ← STATUS LOR READ ELSE
		BEGIN "POTS";
		OUTSTR("CHANGE POTS? ");
		IF INCHWL="Y" THEN
			BEGIN "POTCHG"
			OUTSTR("FOCUS POT="&CVF(L1*CREF)&"	=");
			INP ← INCHWL;
			IF LENGTH(INP) THEN L1←REALSCAN(INP,J)/CREF;
			OUTSTR("TILT POT="&CVF(L2*CREF)&"	=");
			INP ← INCHWL;
			IF LENGTH(INP) THEN L2←REALSCAN(INP,J)/CREF;
			OUTSTR("PAN POT="&CVF(L3*CREF)&"	=");
			INP ← INCHWL;
			IF LENGTH(INP) THEN L3←REALSCAN(INP,J)/CREF;
			STATUS ← STATUS LOR SERVO;
			END "POTCHG";
		END "POTS";
	OUTSTR("READ LENS? ");
	IF INCHWL="Y" THEN STATUS ← STATUS LOR LREAD ELSE
		BEGIN "LENS"
		OUTSTR("CHANGE LENS? ");
		IF INCHWL="Y" THEN
			BEGIN "LENCHG"
			OUTSTR("LENS=" );
			LENS ← CVD(INCHWL);
			STATUS ← STATUS LOR CLENS;
			END "LENCHG";
		END "LENS";
JUMP:	SPWON(1,TSERVO);
	WHILE ¬(STATUS LAND DONE) DO;
	SPWOFF;
	OUTSTR(	"FOCUS = "&CVS(P1*CREF)&
		"	TILT = "&CVS(P2*CREF)&
		"	PAN = "&CVS(P3*CREF)&CRLF&
		"FOCR = "&CVF(P1)&
		"	TILTR = "&CVF(P2)&
		"	PANR = "&CVF(P3)&CRLF&
		"LENS = "&CVS(LENS)&
		"	REF = "&CVS(CREF)&CRLF&CRLF);
	INP ← NULL;
	FOR I ← 1 STEP 1 UNTIL 14 DO
		BEGIN "STATUS"
		IF STATUS LAND 1 THEN INP ← INP&" + "&FLAG_NAMES[I];
		STATUS  ← STATUS LSH -1;
		END "STATUS";
	IF LENGTH(INP)>3 THEN INP ← INP[4 TO ∞];
	OUTSTR("STATUS = "&INP&CRLF&CRLF);
	L1 ← P1;
	L2 ← P2;
	L3 ← P3;
	GO LOOP;
	END;